package com.lss.a_hash;

import java.util.*;

/**
 * @author lss
 * @description
 * @createDate 2024/11/25-23:01
 */
public class lc_49 {
    public static void main(String[] args) {

    }

    /**
     * 对于同位异构的单词放在一组<br>
     * 比如aab，baa，aba
     * @param strs
     * @return
     */
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map = new HashMap<>();
        for (String x : strs) {
            char[] chars = x.toCharArray();
            Arrays.sort(chars);//将数组排序，相同的放入hash表中
            List<String> list = map.computeIfAbsent(new String(chars), key -> new ArrayList<>());
            list.add(x);// 这个可以进行一个优化，java对象
            map.put(new String(chars),list);
        }
        Collection<List<String>> values = map.values();
//        new ArrayList<>(map.values());
        return values.stream().toList();
    }
}
